1. Field of the Invention
Embodiments of the present invention relate generally to magnetic storage systems and methods and, in specific embodiments, to a magnetic storage system including a head, a read channel, and a main controller, in which the main controller obtains a gain profile by sampling a gain in the read channel a plurality of times while the head is reading a data block at a plurality of fixed offsets, and the main controller determines an approximate starting position and an approximate rate of change of an off-track deviation of the data block based on the gain profile.
2. Related Art
Magnetic storage systems, such as disk drives, are commonly used in computers and other devices for the storage and retrieval of data. Users of disk drives often store important data that would be costly to replace or recreate if lost or corrupted. Thus, disk drive reliability is of great importance to many users. In order to improve disk drive reliability, disk drive manufacturers have developed a considerable number of data recovery procedures that may be employed to attempt to recover data when a data read error is encountered. Despite the efforts of disk drive manufacturers, some types of data read errors, such as those caused by non-constant off-track write events, still persist that cannot be remedied with the related art data recovery procedures.
In general, related art disk drives comprise one or more disks for storing data, an actuator, one or more transducers or heads, and a servo controller. Each head is operable to read data from and write data to concentric circular tracks on a surface of a corresponding disk. The heads are attached to the actuator, and when a head performs a read or a write operation on a disk, the actuator is moved so that the head is positioned over a center of a selected track for the operation. The movement of the actuator is controlled by the servo controller based in part on servo information read by the head from embedded servo sectors on the disk.
Using servo information to position a head of a disk drive over a center of a selected track generally permits for satisfactory performance when the disk drive operates under vibration free conditions in which the disk drive is not subject to movement from external sources. Even under vibration free conditions, there may still be some internal factors that can cause misalignment of a head with respect to a track center. A non-exhaustive list of such internal factors is discussed in U.S. Pat. No. 6,094,806 entitled “Method for Fabricating a Dual Element Head”, and includes spindle run out, resonances and disk flutter, thermal track shift, head settling, actuator interactions, improper servo writing, and the like.
When operating in various environments, a disk drive may be subject to external forces in the form of vibrations or shocks. Vibrations may be caused by, for example, mechanical interactions between disk drives that operate on a same computer rack, and the like. When a disk drive operates under vibration conditions, an actuator on which a head is located may be caused to oscillate and, thus, the head may be positioned farther distances away from a track center. A shock event differs from vibrations in that a shock is typically a one time external force that acts on a disk drive and causes a head to be positioned far away from a track center. A shock may be caused by, for example, a strike on a disk drive, dropping a laptop in which a disk drive is located, pounding on a disk drive, movement due to a bad bearing in a cooling fan near a disk drive, tapping or pounding on a table on which a computer housing a disk drive is located, and the like.
When a head is positioned away from a track center, such misalignment may lead to an off-track read or an off-track write. An off-track read occurs when a head is positioned away from a track center during a read operation. When there is an off-track read, the head may be unable to read data, without an error, from the track. An off-track write occurs when a head is positioned away from a track center during a write operation and the head writes data away from the track center.
Some types of off-track writes have a constant offset from track center while other types of off-track writes have a non-constant offset from track center. An off-track write with a constant offset occurs when a write operation is performed for a data block and the data block is written at substantially the same offset away from a track center over an entire physical data sector. An off-track write with a non-constant offset occurs when a write operation is performed for a data block and the data block is written at a varying offset from a track center over at least some portion of a physical data sector.
FIG. 1 is a drawing that illustrates a non-constant off-track write event. In FIG. 1, the horizontal bands 30 represent data tracks that extend circumferentially around a surface of a disk. The vertical lines 40 represent spokes where servo patterns are written in embedded servo sectors for each track. The areas between spokes in each track represent data sectors where data blocks can be stored during disk drive operation. In FIG. 1, approximately four data sectors are shown between each of the spokes, but it should be appreciated that some disk drives may have, for example, around fifteen data sectors between spokes. Also, in FIG. 1, approximately forty-three data sectors are shown for each track, but it should be appreciated that a typical disk drive may have, for example, around one thousand data sectors per track.
The area that is circled in FIG. 1 shows a data block that has been written off-track with a non-constant offset in a data sector. As shown in the circled area, the written data of the data block goes up and moves away from a track center near an end of the data sector. Thus, the data block is written off-track, because at least a portion of the data block is not positioned near the center of the track. Also, the data block written off-track has a non-constant offset because the offset of the data block varies over the data sector. Such a non-constant off-track write event may have been due to, for example, a shock that caused a head to be positioned away from the track center during a write operation.
Related art disk error recovery measures have been unable to recover data blocks written off-track with non-constant offsets. In the related art, disk error recovery has been typically performed by proceeding through a list of data recovery procedures until a data block is either recovered successfully or the recovery procedures are exhausted. Such lists of data recovery procedures commonly include thirty or more data recovery procedures such as rereads, head shifts, routines with error correcting codes, and the like. Head shifts are reads at fixed off-track positions.
In the related art, when a read error is detected for a data block, some of the recovery procedures that are typically employed to attempt to read the data of the data block include head shifts at fixed positions. For example, data blocks that are written off-track may be read repeatedly at fixed servo positions away from track center, such as 6%, 12%, −6%, −12%, and so on, until the data block is either read successfully or the number of servo positions to be tried is exhausted without success. By positioning the head at fixed off-track positions, such data recovery procedures are able to read data blocks that have been written off-track with constant offsets. However, positioning a head at fixed offsets does not permit for reading data blocks that have been written off-track with non-constant offsets, because such data blocks do not have a fixed offset value throughout an entire data sector. As a result, related art data recovery procedures have been ineffective in recovering data of data blocks written off-track with non-constant offsets.
Related art data recovery procedures in which reads are performed at fixed off-track positions to attempt to recover data are disclosed in the following patents: (1) U.S. Pat. No. 5,379,162 entitled “Customized Data Recovery Procedures Selected Responsive to Readback Errors and Transducer Head and Disk Parameters”; (2) U.S. Pat. No. 6,771,444 entitled “Method and Apparatus for Implementing Adaptive Reordering of Data Recovery Procedure Steps in a Disk Drive”; (3) U.S. Pat. No. 6,606,210 entitled “Intelligent Sector Recovery Algorithm”; and (4) U.S. Pat. No. 6,643,084 entitled “Adaptive Off-Track Recovery”.
As noted above, while the related art data recovery procedures are able to recover data blocks written off-track at constant offsets, they are not able to recover data blocks written off-track with non-constant offsets. Moreover, the related art has no way to determine whether a data read error is due to an off-track write before performing recovery procedures, and has no intelligence to distinguish between a constant off-track write event and a non-constant off-track write event. As a result, needless attempts are made to read data at fixed servo positions even when the data has been written off-track with a non-constant offset and could not be recovered by positioning the head at fixed offsets.
Thus, the related art procedures “blindly” position a head off-track at fixed positions in order to try to recover data, and a large number of retries are performed at different fixed off-track increments until either the data is recovered successfully or the recovery measures are exhausted. If the head shifts at fixed servo positions are not successful in recovering data, the related art continues to perform a number of remaining data recovery procedures contained in a list even when the remaining procedures cannot recover data blocks written off-track with non-constant offsets. Thus, the related art data recovery procedures have low intelligence, high redundancy, and require extended recovery time.
An additional problem with the related art is that related art magnetic storage systems provide no way to cause a controlled positioning of a head while the head is reading data from a data sector. The related art systems only provide for controlling a positioning of a head when the head is reading data from embedded servo sectors. With such magnetic storage systems, the head must remain at a fixed position while reading data from data sectors. Because the related art systems do not provide for causing a controlled positioning of a head while the head is reading data from a data sector, the related art systems are incapable of recovering data blocks written off-track with non-constant offsets.
In light of the above mentioned problems, there is a need for a magnetic storage system that can determine whether a data block has been written off-track, and that can determine whether an offset of a data block from a track center is constant or non-constant. There is also a need for a magnetic storage system that can recover a data block written off-track with a non-constant offset. Furthermore, there is a need for a magnetic storage system that can cause a controlled positioning of a head while the head is reading data from a data sector.